home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Database Designers / Rational Rose 2000 / Rational Setup.EXE / common / lib / Win32 / Server.pl < prev    next >
Text File  |  1998-11-15  |  2KB  |  52 lines

  1.  
  2.     use Win32::Pipe;
  3.  
  4.  
  5.     $PipeName = "TEST this long named pipe!";
  6.     $NewSize = 2048;
  7.  
  8.     $iFlag = 1;
  9.     while($iFlag){
  10.         print "Creating pipe \"$PipeName\".\n";
  11.         if($Pipe = new Win32::Pipe($PipeName)){
  12.             $PipeSize = $Pipe->BufferSize();
  13.             print "This pipe's current size is $PipeSize byte" . (($PipeSize == 1)? "":"s") . ".\nWe shall change it to $NewSize ...";
  14.             print (($Pipe->ResizeBuffer($NewSize) == $NewSize)? "Successful":"Unsucessful") . "!\n\n";
  15.  
  16.             print "\n\nR e a d y   f o r   r e a d i n g :\n";
  17.             print "-----------------------------------\n";
  18.             $iFlag2 = 1;
  19.  
  20.             print "Openning the pipe...\n";
  21.             undef $In;
  22.             while($Pipe->Connect()){
  23.  
  24.                  while($iFlag2){
  25.                     ++$iMessage;
  26.                     print "Reading Message #$iMessage: ";
  27.                     $In = $Pipe->Read();
  28.                     if(! $In){
  29.                         $iFlag2 = 0;
  30.                         print "Recieved no data, closing connection....\n";
  31.                         next;
  32.                     }
  33. #                    $In =~ s/\n*$//gi;
  34.                     if ($In =~ /^quit/i){
  35.                         print "\n\nQuitting this connection....\n";
  36.                         $iFlag2 = 0;
  37.                     }elsif ($In =~ /^exit/i){
  38.                         print "\n\nExitting.....\n";
  39.                         $iFlag2 = $iFlag = 0;
  40.                     }else{
  41.                         print "\"$In\"\n";
  42.                     }
  43.                 }
  44.                 print "Disconnecting...\n";
  45.                 $Pipe->Disconnect();
  46.             }
  47.             $Pipe->Close();
  48.         }
  49.     }
  50.  
  51.  
  52.